1. Field of the Invention
The present invention generally relates to an apparatus, a method, and a computer program product for forming images, and more specifically, to an apparatus, a method, and a computer program product for forming images in which an application is formed by connecting an input controller to an output controller.
2. Description of the Related Art
In recent image forming apparatuses, for example, as disclosed in Japanese Patent Application Laid-Open No. 2007-325251, customization and extension of functions are simplified by the application of a pipe-and-filter architecture to software configuration. Such an image forming apparatus to which the pipe-and-filter architecture is applied includes an input filter configured to input image data, a process filter configured to process the image data, and an output filter configured to output the image data. In the image forming apparatus, an application is formed by the combinations of filters having different functions connected via pipes each transferring the image data output from one filter to another.
Thus, in the image forming apparatus, the customization and extension of functions can be achieved by simply changing, adding, or deleting some of the filters corresponding to the functions.
In a case where one function such as a copy function is executed, a reading filter representing one of the input filters, a process filter processing the image data read by the reading filter, and a printing filter representing one of the output filters are connected to thereby execute the copy function, that is, to execute a sequence of processing from reading to printing the image data. Or, in a case where another function such as facsimile (FAX) function is executed, the reading filter, the process filter, and a fax filter representing one of the output filters are connected to thereby execute the FAX function, that is, to execute a sequence of processing from reading to faxing the image data.
However, in the aforementioned related art image forming apparatus, data formats of the image data processed by the filters unfortunately differ between types of the functions (i.e., applications).
For example, when the image forming apparatus receives a copying request, the filters process the image data output from the printing filter in a CMYK color format. When the image forming apparatus receives a fax request, the filters process the image data output from the fax filter in an MMR format.
Accordingly, when the related art image forming apparatus receives different types of requests to execute data processing, each of the filters needs to discriminate a particular type of data processing requested, and convert one image data having one data format into another image data having another data format suitable for the requested data processing type. Accordingly, in executing the data processing, the filters selected and connected via pipes for the particular type of data processing need to have a common data format, and are hence dependent on one another according to the related-art image forming apparatus. That is, if one filter has been changed to another type due to, for example, the change of the request, the other filters connected via pipes need to change their conversion contents (i.e., data format) accordingly. Thus, one filter may not operate independently of others.